package com.yupi.springbootinit.service.workflow;

import java.time.format.DateTimeFormatter;

/**
 * 工作流任务常量
 */
public final class WorkflowTaskConstants {

    private WorkflowTaskConstants() {
        // 工具类，禁止实例化
    }

    // 部门代码常量
    public static final String ENG_DEPT_CODE = "GC001";
    public static final String PMC_DEPT_CODE = "PMC001";
    public static final String PROD_DEPT_CODE = "SC001";
    public static final String QA_DEPT_CODE = "PZ001";
    
    // 任务类型常量
    public static final String TASK_TYPE_CREATE_PROCESS_SHEET = "CREATE_PROCESS_SHEET";
    public static final String TASK_TYPE_CREATE_SCHEDULE = "CREATE_SCHEDULE";
    public static final String TASK_TYPE_PUBLISH_BATCH = "PUBLISH_BATCH";
    public static final String TASK_TYPE_WORKORDER = "PRODUCTION_WORKORDER";
    public static final String TASK_TYPE_QUALITY_INSPECTION = "QUALITY_INSPECTION";  // ✅ 质检任务
    public static final String TASK_TYPE_REWORK = "PRODUCTION_REWORK";  // ✅ 返工任务
    public static final String TASK_TYPE_GENERATE_INSPECTION_REPORT = "GENERATE_INSPECTION_REPORT";

    // 业务类型常量
    public static final String BIZ_TYPE_SALES_ORDER = "SALES_ORDER";
    public static final String BIZ_TYPE_PROCESS_BATCH = "PROCESS_BATCH";
    public static final String BIZ_TYPE_BATCH_STEP = "PROCESS_BATCH_STEP";
    
    // 任务状态常量
    public static final String STATUS_PENDING = "PENDING";
    public static final String STATUS_IN_PROGRESS = "IN_PROGRESS";
    public static final String STATUS_DONE = "DONE";
    public static final String STATUS_COMPLETED = "COMPLETED";

    // 优先级常量
    public static final String PRIORITY_NORMAL = "NORMAL";
    public static final String PRIORITY_HIGH = "HIGH";
    public static final String PRIORITY_URGENT = "URGENT";
    
    // 时间格式常量
    public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    
    // 颜色常量
    public static final String COLOR_ORANGE = "#faad14";
    public static final String COLOR_GREEN = "#52c41a";
    public static final String COLOR_RED = "#ff4d4f";
}